package com.open.httpauto.http;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 定义 http 请求的基本参数封装
 * 一个 http 是一个请求的完整声明周期配置
 * 从请求 到响应返回等 参数映射，返回映射，加解密算法配置
 * 前置，后置处理等
 */
@Data
public class Http implements Serializable {
    /**
     * http id 用于标记http请求
     */
    private String id;
    /**
     * 请求host完整路径
     */
    private String host;
    /**
     * 请求方法 POST,GET,Form
     */
    private String method;
    /**
     * 上下文配置
     */
    private Context context;
    /**
     * 头部设置
     */
    private Header header;
    /**
     * 请求映射配置
     */
    private List<RequestParameter> request;
    /**
     * 响应映射配置
     */
    private List<ResponseParameter> response;
    /**
     * 请求前 http 请求
     */
    private Http before;
    /**
     * 请求后 http 请求
     */
    private Http after;
}
